#include<iostream>
#include<ctime>
#include"ThreadPool.hpp"
#include"Task.hpp"

int main()
{
    ThreadPool<Task>* tp = new ThreadPool<Task>(5);
    tp->Start();
    srand(time(nullptr)^getpid());
    while(true)
    {
        //1.构建任务
        int x =rand()%10+1;
        usleep(10);//可以让x,y差距大点
        int y =rand()%9;
        char op =opers[rand()%opers.size()];

        Task t(x,y,op);
        tp->Push(t);
        
        //主线程只需要push任务就可以了
        //线程池 包括任务队列  和  多个线程
        //类似于生产者消费者模型
        
        //2.交给线程池处理
        cout<<"main thread make task:"<<t.GetTask()<<endl;
        sleep(1);

    }
}